#ifndef STORESYMINFO_H
#define STORESYMINFO_H

#include <stdlib.h>
#include "SymInfo.h"

class StoreSymInfo {
private:
	SymInfo* store;
	SymInfo* startFreeSpace;
	SymInfo* lastBlock;
	size_t sizeFree;
	size_t size;
	size_t lastBlockSize;
	size_t length;

	void expand();
	void writeNextBlockPosition(SymInfo* next);
public:
	SymInfo* add(char* lexem, TokenType type);
	StoreSymInfo(size_t initLength);
	virtual ~StoreSymInfo();
};

#endif
